Dart In Flutter

变量声明

var

  1. var 声明变量时不用指定变量可以接受的数据类型
  2. 编译时,第一次给 var 声明的变量赋值时来推断 var 变量的类型
  3. var 声明的变量类型一经指定后,不可以再修改其变量类型
var t;
t = "hello world";
t = 1000; // ❌

dynamic

Widget 类型

Widget 分为 有状态的widget(Stateful widget) 无状态的widget(Stateless widget) ,他们的差别点在于:

  1. Stateful widget 可以拥有状态,即在该类widget的生命周期中,其拥有的状态是可以改变的;
  2. Stateless widget在其生命周期中是不可以改变的;
  3. Stateful widget 至少由两个类组成:
    • StatefulWidget 类: 声明某个继承StatefulWidget的类
    • State类:状态类,在Widget的生命周期中可能发生变化
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}): super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

}

StatefulWidget 的构建

  1. 构建 StatefulWidget
  2. 创建 State
  3. 初始化Widget
  4. 调用Widgetbuild 方法构建 widget 树
  5. 将 widget树显示到屏幕上